package com.zhongwang.business.module.quoteManage.quoteManageDao;
import com.zhongwang.business.gen.entity.*;
import com.zhongwang.business.module.basic.model.ConsumerInfoMainModel;
import com.zhongwang.business.module.basic.model.DictEnumModel;
import com.zhongwang.business.module.basic.model.VerifyProcessModel;
import com.zhongwang.business.module.quoteManage.quoteManageModel.FileManageModel;
import com.zhongwang.business.module.quoteManage.quoteManageModel.QuotationMainModel;
import com.zhongwang.business.module.quoteManage.quoteManageModel.QuotationPaymentModel;
import com.zhongwang.business.module.quoteManage.quoteManageModel.QuotationSublistModel;
import com.zhongwang.business.module.taskManage.model.TaskModelQ;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 *  报价任务管理 接口
 *  * @author zcy
 *  * @date 2020/8/20
 */
@Repository
public interface QuotationMainDao {
   List<QuotationMainModel> selectQuoteTaskList(QuotationMainModel query);

    QuotationSublistModel selectQuotationList(Integer quoteTaskId);

    List<ConsumerInfoMainModel> selectQttConsInfoList();

    QuotationMainModel selectQttConsAttn(Integer consInfoId);

    QuotationMainModel selectQttConsAttnInfo(Integer consInfoId);

    List<FileManageModel> selectQttFileList(int quoteId);

    Task selectQttTaskList(int quoteTaskId);

    void updateQttTaskStatus(TaskModelQ taskModel);

    int countByUrl(String url);

//    QuotationMainModel selectQuotationInfo(Integer quoteTaskId);

   QuotationMainModel selectQttInfo(Integer quoteId);

   List<QuotationMainModel> selectQuoteList(QuotationMainModel query);

   List<QuotationSublistModel> selectQttList(Integer quoteId);

    int updateDelQuote(QuotationMain quotationMain);

    List<QuotationMainModel> selectQuoteAddList(QuotationMainModel query);

    QuotationMain selectById(Integer quoteId);

    List<Task> selectQttTaskRelListByQuoteId(Integer quoteId);

    void updateTask(Task task);

    int updateQuote(QuotationMainModel quotationMainModel);

    QuotationSublist selectQttByQuoteTaskId(Integer quoteId);

    QuotationMainModel selectQuotationTotalAmountById(@Param("quoteId") Integer quoteId);

    QuotationMainModel selectTaskById(Integer quoteTaskId);

    Task selectByProCode(String proCode);

    List<TaskModelQ> selectProjectByCode(String code);

    VerifyProcessModel selectStartNode(Integer id);

    SheetDetail selectSheetDetail(Integer quoteId);

    List<QuotationMainModel> selectQuoteNoList(Date date2);

    List<DictEnumModel> findPayItem();

    List<QuotationPaymentModel> selectQttItemList(Integer quoteId);

    List<QuotationMainModel> selectQttTaskPreList(QuotationMainModel query);

    Task selectQttTaskByFkid(Integer fkid);

    List<QttSubTaskRel> selectQttTaskRelListByQttId(Integer qttId);

    int updateResetQuote(QuotationMainModel quotationMainModel);

    List<SellerInfo> selectSellInfoList();

    List<SysUser> selectCreatersList();

    SysUser selectByAccount(String account);
}
